package com.vates.vsp.servicios.hotel;

import java.util.List;

import com.vates.vsp.entidades.Hotel;
import com.vates.vsp.entidades.TipoHabitacion;
import com.vates.vsp.exceptions.HotelExistException;
import com.vates.vsp.exceptions.HotelNoExistException;
import com.vates.vsp.exceptions.ValidationException;

public interface HotelService {

	void altaHotel(Hotel hotel) throws HotelExistException, ValidationException;

	void bajaHotel(Hotel hotel) throws HotelNoExistException;

	void actualizarHotel(Hotel hotel, String nombreOriginal) throws HotelNoExistException, ValidationException, HotelExistException;
	
	List<Hotel> buscarTodosHoteles();

	List<Hotel> buscarPorLocalidad(String localidad);

	Hotel buscarHotelPorNombre(String nombreHotel) throws HotelNoExistException;

	Hotel buscarHotelPorId(Long idHotel) throws HotelNoExistException;
	
	// tipos de habitacion
	
	void agregarTipoHabitacion(Hotel hotel, TipoHabitacion tipoHab) throws HotelNoExistException;
	
	void agregarTipoHabitacion(Hotel hotel, List<TipoHabitacion> tiposHab) throws HotelNoExistException;
	
	public void eliminarTipoHabitacionDeHotel(Hotel hotel, TipoHabitacion tiposHab);
	
	TipoHabitacion buscarTipoHabitacion(Long idTipoHab);

}
